package cn.iocoder.yudao.module.cmt.dal.dataobject.course;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * CourseInfo DO
 *
 * @author 芋道源码
 */
@TableName("cmt_course_info")
@KeySequence("cmt_course_info_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CourseInfoDO extends BaseDO {

    /**
     * 课程ID
     */
    @TableId
    private Long id;
    /**
     * 社区ID
     */
    private Long communityId;
    /**
     * 社区名称
     */
    @TableField(exist = false)
    private String communityName;
    /**
     * 商户ID(课程提供商户)
     */
    private Long merchantId;
    /**
     * 商户名称
     */
    @TableField(exist = false)
    private String merchantName;
    /**
     * 课程分类ID
     */
    private Long categoryId;
    /**
     * 分类名称
     */
    @TableField(exist = false)
    private String categoryName;
    /**
     * 课程标题
     */
    private String title;
    /**
     * 封面图片
     */
    private String coverImage;
    /**
     * 讲师人员ID
     */
    private Long teacherPersonId;
    /**
     * 讲师名称
     */
    private String teacherName;
    /**
     * 讲师职称
     */
    private String teacherTitle;
    /**
     * 讲师头像
     */
    private String teacherAvatar;
    /**
     * 难度：1初级 2中级 3高级
     */
    private Integer difficulty;
    /**
     * 课时数
     */
    private Integer lessonCount;
    /**
     * 总时长(分钟)
     */
    private Integer duration;
    /**
     * 课程简介
     */
    private String description;
    /**
     * 课程详情
     */
    private String content;
    /**
     * 学习人数
     */
    private Integer learnCount;
    /**
     * 完成人数
     */
    private Integer completeCount;
    /**
     * 课程评分
     */
    private BigDecimal rating;
    /**
     * 评价数量
     */
    private Integer reviewCount;
    /**
     * 是否推荐
     */
    private Integer isRecommend;
    /**
     * 是否热门
     */
    private Integer isHot;
    /**
     * 排序
     */
    private Integer sort;

}
